package com.jia.leetCode;

public class Pro5478 {
    public int maxSum(int[] nums1, int[] nums2) {
        int M = 1000000007;
        int n1 = nums1.length;
        int n2 = nums2.length;
        int i = 0, j = 0;
        long r1 = 0, r2 = 0;
        while(i < n1 || j < n2) {
            if(i == n1) {
                r2 += nums2[j++];
            }else if(j == n2) {
                r1 += nums1[i++];
            }else if(nums1[i] < nums2[j]) {
                r1+= nums1[i++];
            }else if(nums1[i] < nums2[j]) {
                r2 += nums2[j++];
            }else {
                long t = Math.max(r1, r2) + nums1[i];
                t %= M;
                r1 = t;
                r2 = t;
                ++i;
                ++j;
            }
        }
        return (int)(Math.max(r1, r2) % M);
    }
}
